package com.example.horizonserver.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.horizonserver.common.result.PageResult;
import com.example.horizonserver.pojo.DTO.*;
import com.example.horizonserver.pojo.VO.DispatchSubmitVO;
import com.example.horizonserver.pojo.entity.Dispatch;

public interface DispatchService extends IService<Dispatch> {
    /**
     * 提交用车请求
     * @param dispatchSubmitDTO
     * @return
     */
    DispatchSubmitVO submitDispatch(DispatchSubmitDTO dispatchSubmitDTO);

    /**
     * 管理员批准用车请求
     * @param dispatchConfirmDTO
     */

    void confirm(DispatchConfirmDTO dispatchConfirmDTO);

    /**
     * 管理员拒绝用车请求
     * @param dispatchRejectionDTO
     */
    void rejection(DispatchRejectionDTO dispatchRejectionDTO);

    /**
     * 完成用车,归还车辆
     */
    void complete(DispatchCompleteDTO dispatchCompleteDTO);

    /**
     * 分页条件查询车辆调度记录
     *
     * @param dispatchPageQueryDTO
     * @return
     */
    PageResult pageQuery(DispatchPageQueryDTO dispatchPageQueryDTO);
}
